Conventionally, companies have disparate information systems and software that are used to run back-office operations and complex technology infrastructure. Though each system is implemented for its ability to serve a specific function, like procurement or enterprise reporting, there are many systems that rely on the same source of data in order to be used to their full potential, like employee data. The data sources, such as directory services and Enterprise Resource Planning (“ERP”) systems, can be third party (e.g., provided by a vendor) or proprietary (e.g., developed by the company) systems. Infrastructure data consists of information about an organization's technology (e.g., the inventory, configuration, ownership, financials of laptops, desktops, servers, switches, and routers) and back-office information (e.g., procurement and billing, accounting and general ledger, employee and department). The disparate nature and management of the data sources—semantics, timeliness, and reliability—create a mesh of information that can be redundant, inaccurate, or out-dated. Where information should be entered into a single golden source and shared with other applications, the same information might be manually keyed into multiple systems or automatically updated with significant time delays. Therefore, it is difficult or time-consuming to figure out inter alia which resources an employee has access to for business-as-usual activities, the costs associated with running an infrastructure, or the risk associated with the action of giving access to a person for a particular resource. It is also very easy to hide or lose critical information in this mesh, so by accurately determining how an organization's people, places, and things are related to each other, it can significantly improve its operational efficiency, which may also become a source of competitive advantage.
In any company of any size or location, a user cannot easily access a single location for all infrastructure information. Instead, data must be compiled from disparate sources, cleansed, and organized. In some instances, the user does not even know where to obtain the data for compilation. Once the data is obtained, the data is sometimes outdated because it has not been consistently refreshed. As a result, access, quality, and reliability of infrastructure data remain a challenge. It is desirable to have a single interface for handling infrastructure data.
Extract, transform, load (“ETL”) can be used to pull data from a database into another system. First, the extract function reads data from a specified source database and extracts a desired subset of data. Next, the transform function works with the acquired data—using rules or lookup tables, or creating combinations with other data—to convert it to the desired state. Finally, the load function is used to write the resulting data (either all of the subset or just the changes) to a target database, which may or may not previously exist. ETL can be used to acquire a temporary subset of data for reports or other purposes, or a more permanent data set may be acquired for other purposes, including the population of a data mart or data warehouse; conversion from one database type to another; and the migration of data from one database or platform to another. However, ETL usage also suffers deficiencies. While ETL can replicate data for another database, ETL does not have the functionality of managing and processing requests, obtaining approval, and managing infrastructure data from directory services. Another problem with ETL is that it provides a snapshot of data representative of a specific point in time, and, conventionally, could experience latency that could be days, weeks, or months. ETL is generally a poor method to capture changes in data that occur more frequently, such as a few seconds or several minutes. Without real-time access to information, reporting and decision-making might be based on old information. Therefore, it is desirable to have a system that manages the morass of infrastructure quickly, efficiently, securely, and in compliance with regulatory requirements.